@database Stingray.guide @author "Carmen Rizzolo" @master "Stingray.guide" @node Main "STINGRAY: An object by Carmen Rizzolo" Carmen Rizzolo proudly presents! - S T I N G R A Y - A cool new object for Imagine 2.0 And it's under 150k in size! This object, it's design and the contents of this archive are ©1993 Carmen Rizzolo. This object is SHAREWARE. Rendered images of the Stingray object may not be videotaped, broadcasted, printed or distributed in any way. The Stingray object may not be converted to any other platform or format. The Stingray object may ONLY be distributed in it's original archived form, with all documentation and other included files INTACT. See: @{"Caution" link Caution} The shareware fee is $15 to register. Enclose your full name and address with the fee [should you decide to pay] and I will mail you written permission to use rendered images of the Stingray object any way you like. Of course, I don't expect everyone to register as a user of this object. The people that may want to register are those who want to use this object as part of a graphics demo, commercial, intro to a TV show, or any other commercial use you can think of. If you're going to be getting paid for what ever project you use this object in, I think that $15 is a bargain. If you're a hobbyist, collector or whatever, I don't really expect you to register. Render the object and enjoy. Just don't spread it's imagery around. See: @{"Address" link Address} -- MAIN MENU ------------------------------------------------------------- @{"Oops!" link Oops} @{"Archive Contents" link Archive} @{"Introduction" link Introduction} @{"Caution" link Caution} @{"Address" link Address} @{"Weird Design" link Weird} @{"Morph Tutorial" link StingrayMorph} @{"Essence2 Users" link Essence2Users} @{"The Imagine Organizer v1.3 BETA" link OrgMain} @{"Legal Stuff" link Legal} -------------------------------------------------------------------------- @endnode @node Oops "Oops!" This is the second release of this Stingray object.. Only a few hours after the original release.. I accidentally left one or two of the EssenceII textures buried somewhere in the ship, and they had different names, so even people WITH EssenceII wouldn't have been able to use it. Oops! Well, it's fixed now. Sorry about that.. If you have the original release, it's an easy fix. Load the Stingray.1.obj into the Detail Editor. Use FIND BY NAME and type in PART.3 Part.3 will have the texture. Hit F1 then F7, then click on the pressed-in texture box. Then click on the DROP button. OK, then OK again. Now repeat this process with an object called PART.4 Save the "fixed" object as Stingray.1.obj. Now go and do the same stuff to Stingray.2.obj. Sorry about the trouble, folks. @endnode @node Archive "Contents of this archive" The following files should be included in this archive: Stingray (DIR) EssenceII (DIR) Body-EssenceII.att - attribute settings file Body-EssenceII.att - attribute settings file Others.guide - AmigaGuide format Text file Stingray.1.fake - Imagine object Stingray.1.obj - Imagine object Stingray.2.fake - Imagine object Stingray.2.obj - Imagine object Stingray.guide - This document Stingray.IFF24 - 24-bit sample image @endnode @node Introduction "Introduction" Thanks for downloading this object! I did my very best to keep it's size reasonably small, but with a good amount of detail. As you read in other sections of this file, you'll see ways you can [fairly] easily modify the Stingray object's colour, behaviour, whatever. See: @{"Weird Design" link Weird} I used a very small amount of Imagine's SLICE feature, as well as other methods to create points conservatively. The idea here was to keep it as small as possible but without saccrificing those precious details! All colours selected on the object are more or less video-friendly. It's lights are at a 230, 230, 230 value, and the pure-black decals are actually at a value of 10, 10, 10 so if you're genlocking something behind the ship, it won't show up anywhere inside it. Stingray DOES NOT use any bitmap brushmapping. YAY!!! This keeps the memory usage down, and makes things easier for the end user to set things up. Stingray DOES, however, use algorithmic textures. Stingray assumes you are running Imagine 2.0 and your textures are installed in the standard way. Your textures should be in a drawer called "Textures" and that drawer should be inside the same drawer that contains your Imagine program. The Stingray object was made with Essence Volume II in mind. Without Essence II, it will look a little flat. Well, there's nothing I can do about that unless you want to go and make your own mappings. You're on your own if that is your choice (Hint: When mapping to "BODY" restrict to subgroup "SHELL2"). If you have Essence Volume II, Go read the Essence II section for a step-by-step tutorial on setting up this object to use the HullPlate texture in just the right way for this object. See: @{"Essence2 Users" link Essence2Users} Stingray.1.obj and Stingray.2.obj both have ".fake" counterparts. See the section on .fake objects for more information. You'll be glad you did! Note: Since it's very likely the only custom morphing you'll be creating will be color manipulation-stype morphing, you can duplicate one of the .fake objects that most closely matches your altered object (Stingray.1.obj = not shooting, Stingray.2.obj = shooting) and give it the suitable name. For example, if you create an object called "Stingray.powerdown.obj" you can make a copy of "Stingray.1.fake" and call it "Stingray.powerdown.fake". See: @{".fake objects" link Chap2} @endnode @node Caution "A word of caution" It saddens me to have to say the following... In the past, I have made freely distributable and even public domain objects for all to enjoy. Sometimes, all I would ask is that the object is distributed in its original archive with all the enclosed documentation. There are two basic reason I ask this. 1. After hours, days or even weeks of work on an object for all of you out there to enjoy, I'd appreciate just a little bit of credit for my efforts by letting the next person who downloads the object know who created it. 2. And more importantly, I frequently add little tricks or "features" in my models. Without documentation, the end user will have no way of taking advantage of these features. On two occasions in the past, each with a different object, I have gotten wind of people taking the object out of the archive, compressing it in another archive that contains ONLY the object, and uploading it. No name, no docs, no nothing. People, I'm not asking that much. Please be kind to others by letting them get all the benefits that you did. Either upload this object only in its original archive, or don't bother uploading anything. I almost wasn't going to release this object. I was just going to render a few pictures or an animation, slap my name on them and that's that. Then I heard about some person [of who's name I still don't know] who purchased a rather large amount of memory just to be able to render one of my larger objects. Needless to say, I was touched. And if you're reading this, please give me a call, I'd like to hear from you (See @{"Address" link Address})! If I should see or get wind of this object uploaded somewhere not in its original archive, I WILL NEVER AGAIN RELEASE AN OBJECT TO THE GENERAL PUBLIC. People! This isn't much to ask! Please be kind to your fellow Amiga user by following this simple guideline. Enough said. @endnode @node Address "My address" Mail shareware registration to: STINGRAY OBJECT c/o Carmen Rizzolo 4280 Clairemont Mesa Blvd. #5 San Diego, CA. 92117 My telephone number is (619) 573-0285 if you wish to get ahold of me that way. You can also send me netmail at the following address: CarmenR@cup.portal.com In your registration letter, be sure to include your address so I can mail you written permission to use rendered images this object any way you choose. Also, if you could be so kind, answer the following questions in your letter, although it is not required. It would just help me out by keeping your system's abilities in mind when I work on future objects. So in a way, it'll help you too! If you wish, you can print out the Below information and fill in the blanks. ------------- CUT HERE --------------------------------------------------- NAME: (First) _______________________ (Last) _____________________________ STREET ADDRESS: __________________________________________________________ CITY, STATE, ZIP: ________________________________________________________ PHONE NUMBER: (Optional) ( ) - WHAT MODEL AMIGA DO YOU HAVE (Check One)? [ ] Amiga 1000 [ ] Amiga 500 [ ] Amiga 600 [ ] Amiga 2000/2500 [ ] Amiga 3000 [ ] Amiga 1200 [ ] Amiga 4000 [ ] Other _______________________________________________________________ HOW MUCH MEMORY DO YOU HAVE?______________________________________________ WHAT PROCESSOR DOES YOUR AMIGA USE? [ ] 68000/60010 [ ] 68020 [ ] 68030 [ ] 68040 [ ] Other _______________________________________________________________ NAME AND VERSION OF YOUR 3-D ANIMATION SOFTWARE: _________________________ DO YOU PLAN ON PURCHASING / UPGRADING TO IMAGINE 3.0? ____________________ ------------- CUT HERE --------------------------------------------------- Thanks for taking the extra time to fill out the extra information! @endnode @node Weird "What's with the weird design?" Hey! What's with the weird design?!? Well, if you haven't already, load the file "Stingray.1.obj" into Imagine2.0's detail editor. Right away, you should notice its structure is out of the norm. The group's parent axis ("STINGRAY"), branches out to a number of axes, located above the Stingray object. This unique structure makes it as easy as possible for you, the end user, to modify certain aspects of the Stingray object. More on this later. Also, as you may notice upon rendering, the stingray's weapon array is attached to a kickback shock absorbing structure. When its more powerful weapons fire, the forward section is pushed back quickly, then slowly returns back it its original position. There are two versions of the Stingray object. One is "Stingray.1.obj" for when the craft is not firing, and the other is "Stingray.2.obj" which has its weapon's struction fully pushed back. You can morph from the first object to the second object and then back again for when it fires its weapons using Imagine's @{"Action Editor" link Action}. See @{"Morphing Tutorial" link StingrayMorph} Now back to the strange grouping structure.. Load the "Stingray.1.obj" into the detail editor. Blow up the RIGHT VIEW by clicking on the vertical "RIGHT" bar. Here, you can see the main axis branching out into two rows of axes, located above the craft. Each axis is the parent axis to objects that make up the ship. Click on one of the upper axes. Once it turns blue [or purple], hit the F7 function key. The ATTRIBUTES REQUESTOR will pop up, and at the very top of the requestor you will see one of the following names: DARKPATCHES LIGHTS SHIP BLACK -or- DARKPATCHES2 LIGHTS2 SHIP2 BLACK2 The names that end with a "2" are part of the weapons array that is a moving part, and seperating everything into two distinct sections makes animating/morphing easier to deal with. Let's suppose we want to power-down the ship. In other words, we want to have its lights morph to black [well near-black anyway] in an animation as if it's lost all power. Find the LIGHTS axis above the ship. Fortunately, lights are easy to change because it's just the two objects [LIGHTS and LIGHTS2]. We'll deal with the harder ones later. Click on the LIGHTS axis and hit F7 to confirm it is indeed the LIGHTS axis. While you're in its ATTRIBUTES REQUESTOR, click on the COLOR button and slide the RED, GREEN and BLUE sliders down to 10, 10 & 10. I don't like to go all the way down to 0 for genlocking reasons (See @{"Introduction" link Introduction}). Of course, you can turn all the lights Red by giving a value of 230, 0, 0 just as easily, but let's stick with the script here... After you've gotten the color value set to 10, 10, 10, click on the OK button. Now find the LIGHTS2 axis, and do the same thing to it. All the "2" axes are located at the front of the ship. Above the weapons array, and they're placed slightly lower than the normal axes from the RIGHT VIEW's vantage. Once you're done with the lights' modifications, enter PICK GROUPS mode if you're not already there, click on the master axis "STINGRAY" and save the object under a new name.. Maybe something like "Stingray.powerdown.obj" or whatever you like. Then you can morph from the normal object (Stingray.1.obj) to your new "powerless" object. See: @{"Morph Tutorial" link StingrayMorph} Adding a texture is the next hardest thing. But thanks to the ship's unique structure, it's still quite easy. Let's do that now. To add a texture that effects the entire ship, enter the "STINGRAY" axis' ATTRIBUTES REQUESTOR and add the desired texture. Be sure to enable the APPLY TO CHILDREN button. All done. To add a texture that effects only a certain aspect of the ship, like only the decals, Find the "DARKPATCHES" axis and enter its ATTRIBUTES REQUESTOR. Add the texture, and be sure to enable the APPLY TO CHILDREN button. All done. Hey! This weird grouping structure actually is pretty cool huh [warm smile]? Actually, you're not all done. Save the ATTRIBUTES REQUESTOR's information to RAM: by clicking the SAVE button. After you're done saving the attribute's info, hit the OK button to get out of the ATTRIBUTES REQUESTOR. Now find the "DARKPATCHES2" axis, enter its ATTRIBUTES REQUESTOR and LOAD the attributes info you just saved to your ram disk. Leave the ATTRIBUTES REQUESTOR, enter PICK GROUPS mode, grab the whole she-bang and save it under a new name, then morph. Simple eh? Well, kinda. See: @{"Morph Tutorial" link StingrayMorph} Notice for Essence users!! It's a snap to change the colour of the Stingray object by using the SOLID texture and applying it to the SHIP and SHIP2 axes.. Be sure to click that APPLY TO CHILDRED button!! Then you can do the same to the DARKPATCHES and DARKPATCHES2 axes. The values I have set for them now are 30 notches lower than the SHIP's objects' colors on each RED GREEN and BLUE value. Those of you who don't have Essence, and wish to change the overall color of your Stingray object, read on... If you're not a purple-lover, the colour of the Stingray object *CAN* be altered. It's not the easiest thing to do, but thanks to this odd grouping, it's much easier than a generic grouping method. Read on... Blow up the RIGHT VIEW. We can do everything from here. Let's start with the bulk of the Stingray ship... Be sure you're in PICK GROUPS mode. Oddly enough, you'll want to now locate the axes called "SHIP" and "SHIP2" Click on one, then shift-click on the other. With both groups picked, enter TRANSFORMATIONS. Click on the TRANSLATE button, and give the Z value a nice, even 100. Then hit PERFORM. The two groups will move up, and out of the way.. Use your cursor keys to move up to meet the freshly moved object. Enter PICK OBJECTS mode. Use a drag-box as a pick-method. Hold down a shift key and Drag a box around all of the objects you just moved. They're clean out of the way of the rest of the Stingray ship, so it's easy to do. You don't have to include the two parent axes SHIP and SHIP2, although it's harmless to do so. You can let go of your shift-button now. Hit the F7 function key. You are now going to go through each and every little part's ATTRIBUTES REQUESTOR. Change the COLOR, SPECULARITY, and any other value you wish. I reccomend you make them all the same. It will speed things up if you save your preferred value to your ram disk, and then load it for each part. HOWEVER!!!!! If you are going to do that, TAKE NOTICE to the object's PHONG button. Is it on? Is it off? Loading the new attribute file will override the PHONG value in favor of the new one. Take a mental note of its position before loading the attributes file, and restore its value [on or off], if the attribute load changed it. Whew! That operation took a while, didn't it!! Now, re-enter PICK GROUPS mode, pick both SHIP and SHIP2 axes, and use TRANSFORMATIONS to TRANSLATE its position back down to where it came from (A Z translation of -100). Now this entire process can be repeated for DARKPATCHES and DARKPATCHES2 axes if you want to change their color as well. Special note! There is one little roundish object at the top-center of the Stingray's hull (Called "SPHERE.1") that has some of the DARKPATCHES colour built into it, even though it's actually grouped to the SHIP axis. If you're going to change the colors of SHIP and/or the DARKPATCHES children objects, you may want to restore the decals on this object. You can find it in the TOP VIEW, or by using FIND BY REQUESTOR or FIND BY NAME. With the "SPHERE.1" object picked, enter PICK FACES mode and use PICK SUBGROUP to pick the subgroup "DECALS". Now you can hit F7 to change its color to the color you assigned to the DARKPATCHES' children's objects. This is really a minor detail, and you might not have noticed it either way.. But at least you know about it now. There are TWO exceptions to the unique grouping structure.. That is, there are two objects that are not grouped to one of the axes located above the Stingray object. Blow up the TOP VIEW, and you'll be able to grab them with ease. It's the two rear-most objects. They make up the glow inside the Stingray's thrusters. I left them out because they really didn't belong in SHIP, DARKPATCHES, BLACK or LIGHTS, and it would be silly to just add another axis just for those two rascals. @endnode @node StingrayMorph "Morphing the Stingray objects" On the subject of Morphing.... To "morph" something in Imagine, is to create a transition from one object to another. The catch is, both objects must have identical structures. Morphing is limited to changing the position on points on an object, or changing the color an object, or something simple like that. To morph, you'll need [at least] two objects. Hey! You've got two right here in front of you! "Stingray.1.obj" and "Stingray.2.obj" are ripe for the morphing. Stingray.2.obj is exactly like Stingray.1.obj except all points in the weapon array structure have been moved back 10 units. Not the axes, just the points. When animated, it will appear there is a "kick" to it when firing. What we want to do is morph from Stingray.1.obj to Stingray.2.obj over a period of 3 or 4 frames, then back to Stingray.1.obj over a period of 10 frames. This tutorial assumes you've already loaded up the first object "Stingray.1.obj" either in the Stage Editor or in the Action Editor. See: @{"Action Editor" link Action} If you haven't already, go to the ACTION EDITOR (Of course, you'll need to have started a project first). Find your STINGRAY object. Click on the ACTOR BAR [in INFO mode] and make sure the actor exists from frames 1 to 1. Leave the requestor. Give yourself about 20 frames if you don't have any yet. It's the number at the upper-left hand of the screen. Enter ADD mode. In the ACTOR position of the STINGRAY object, click once at frame 2. Click a second time at frame 5. You'll now get a reqestor to load an object. Call up Stingray.2.obj. Give a TRANSITION FRAME COUNT of 3. That's 3 frames where the change takes place, and on the 4th frame [frame #5, since we're starting this morph at frame #2] it's completely the second object. Now, in ADD mode, click once on frame 6, then again on frame 15. Load up the first object, Stingray.1.obj, and give a TRANSITION FRAME COUNT of 9. The morph is complete. The weapon array shoots in quickly, then slowly releases. Now you get to add a laser effect at your own leisure. But wait! The morph is done, but the object dissappears after frame 15! That's OK.. I had you end it on frame 15 for referance reasons. Now just use INFO mode and click on the bar you just added, and tell it to exist from frames 6 to 20, or whatever the end of your animation is. @endnode @node Essence2Users "Hello all you lucky people, you!" Only two parts of the Stingray need the Essence Volume II "HullPlate" texture. An object called "BODY" and another called "WINGS" Conveniently, there is a drawer called EssenceII, which contains attribute files for the BODY and WINGS. 1. Simply load the Stingray.1.obj, use FIND BY NAME and type in BODY. Once the roundish part turns orange, hit F1 then F7. Click LOAD, and load the file "Body-EssenceII.att" then hit OK. 2. Repeat Step 1 except using WINGS. Use "WINGS" (no quotes) in FIND BY REQUESTOR, F1, F7, LOAD "Wings-EssenceII.att", OK. And you're done. 3. Now pick the whole Stingray. Make sure the whole thing turns blue or purple. Save it under the same name. "Stingray.1.obj" 4. Now you get to repeat steps 1, 2, and 3 again, except using "Stingray.2.obj" instead of "Stingray.1.obj" That's it! You're all set to go, as long as your Essence Volume II textures are properly installed, you're good to go. Your Essence textures should of course, be inside a drawer called "Essence" which is in a drawer that contains your Imagine. @endnode @node Legal "Legal stuff" Essence, and Essence Volume II are trademarks of Apex Software Amiga is a trademark of Commodore Business Machines The Video Toaster, and Lightwave 3D are trademarks of NewTek Imagine is a trademark of Impulse Inc. I sure hope I got everybody!! @endnode @node OrgMain "The Imagine Organizer, by Carmen Rizzolo" THE IMAGINE ORGANIZER -or- A friendly, honest alternative to panic. By Carmen Rizzolo NOTICE: This is a BETA [incomplete] version of the Imagine Organizer 1.3 It features cross-referancing. To access this new feature, double-click on a word that you may not understand. If its definition is complete, you will be taken to a node that describes it. Also, avoid trying to double-click on works that have punctuation of some sort next to it. Example: "Action." may not work, but "Action" will. This beta version is not to be distributed outside of the Stingray object's archive. It is only here as an aid to users of the Stinray object. @{"History" link History} @{"Introduction" link OrgIntroduction} @{"How to use" link HowTo} @{"Disclaimer" link Disclaimer} @{"Future Articles" link Future} @{"1 " link Chap1} Spline Based Rotations @{"2 " link Chap2} Decrease Animation Creation Time @{"3 " link Chap3} Get the Most Speed Out of Animation Playback @{"4 " link Chap4} Making Custom Drawers in Your Projects @{"5 " link Chap5} What to Name Your Actors @{"6 " link Chap6} Looping the Waves Texture @{"7 " link Chap7} Graphically Editing the World Size @{"8 " link Chap8} Graphically Positioning the World Size @{"9 " link Chap9} Using Conform to Path @{"10" link Chap10} Hiding 2-Dish flaws in 3D Objects @{"11" link Chap11} Signing Your Animations @{"12" link Chap12} Crack Your Objects Up! @{"13" link Chap13} More on Speeding up Trace Renderings @endnode @node Future "Future Articles" -- Articles yet to come --------------------------------------------- The following are some subjects I hope to tackle in the [near?] future. Either I can't do them now because they rely on a future version of Imagine, or I just haven't had the time to get to them yet. Creating landscapes from a bitmap. Leaves Rustling in the Wind Nifty Neon Flowers/Branches/Whatever Swaying in the Breeze (Imagine 3.0) Structures Riddled With Windows Made [fairly] Easy Fun with Zooming Springy Motion (Imagine 3.0) Motion Blurring Looping Essence textures (Maybe!) @endnode @node History "History" -- HISTORY ---------------------------------------------------------- Release: 1.0 - October 21, 1992 Articles 1 through 8 Release 1.1 - October 27, 1992 Articles 9 through 11 Fixed several boo-boos in Article #6 Release 1.2 - March 18, 1993 Articles 12 through 13 Release 1.3 changed format to the - March 22, 1993 "AmigaGuide" format. Lots 'o cross- referencing. @endnode @node OrgIntroduction "Introduction" -- INTRODUCTION ----------------------------------------------------- Ok, so what's the purpose of this article? Well, it's a series of articles I have made over time. One I plan to add to, instead of releasing seperate articles everywhere and hope you get them all. Now they're all together.. Fun, eh? In here you'll find all the tips, tricks and tutorials that I have written to further help you get along with Imagine. There will be things in here to speed up your creation process, smooth out rough motion, and do things that maybe you never thought you could do with Imagine. Although the tone of my dialogue is geared towards the Imagine novice, I hope that everyone will find a few things in here that they didn't know before. I'll release updates to this as I add to it. The articles are in no particular order, so look through the Contents for what interests you. Have fun, and don't get lost! I can be reached at the following places: E-Mail at Amiganet: (619) 477-2368 Net-Mail at CarmenR@cup.portal.com on Portal, or carmenr@netcom.com on NetCom. @endnode @node Chap1 "Spline Based Rotations" -- Spline Based Rotations ------------------------------------------- A post by Anthony Ramirez on the FidoNet Amiga_Video section sparked an idea in my head.. After testing it out with wild success, I had to fill the rest of you guys in.. For the longest time, I was envious of Lighwave 3D and its smooooth trasitions from one rotation key to the next. I would always get a 'kink' with Imagine when I tried the same stunt. Sure, you can align an object with a path that it moves down, but what if I want the rotation to be independant of it's position path? Well, this new thing works well, but it's kinda encumbered.. If you can deal with the extra steps, you'll get some great rotational movement.. Very smooth too! Here's what to do (I'll try to keep this short)! In the stage editor, add an open path.. This path is COMPLETELY independant of any other operation.. If your object is following a path, add a second path. This works even if your object isn't following a path. Now add an AXIS If your object in question is called "SHIP", you can call the path "SHIP.TRACK.PATH" and call the new AXIS "SHIP.TRACK" Fair enough? In the Action Editor, Delete the ALIGNMENT BAR of your SHIP object. Replace it with another bar (That takes up a decent amount of frames) and have it TRACK TO OBJECT.. The object it tracks to is the "SHIP.TRACK" Now Delete the POSITION BAR of the "SHIP.TRACK" object and have it follow the "SHIP.TRACK.PATH" in the same frame #'s you used for your ship's alignment bar. Now Delete the POSITION BAR of the "SHIP.TRACK.PATH" and replace it with the SAME INFORMATION as the SHIP's POSITION BAR.. In other words, if your SHIP is traveling along a path, have your "SHIP.TRACK.PATH" follow the same path. If it's all tween motion, duplicate the info for the "SHIP.TRACK.PATH". Now delete the ALIGNMENT BAR of the "SHIP.TRACK.PATH" and replace it with the same ALIGNMENT info as your "SHIP" object (in the same # of frames, again). If you are still with me, your "SHIP.TRACK.PATH" is now moving in unison with your "SHIP" object, and the "SHIP.TRACK" object is moving down the "SHIP.TRACK.PATH". Now all you have to do is edit your "SHIP.TRACK.PATH".. This is the tricky part. Remember that the "SHIP.TRACK.PATH" will always be centered with your "SHIP" object. If you want your "SHIP" object to aim forwards, then veer to the left, then aim straight up, you'll do the following: Have the path start right in front of the SHIP, then Move in an orbit of the SHIP to the ship's left side, then orbit-like motion going towards the top of the SHIP. Your SHIP will always be pointing (in the positive-Y direction of it's axis) towards your "SHIP.TRACK" object. If your path aims directly towards or away from the SHIP object, the alignment won't change.. If you have the path moving away, then bending to one way or another, you can see how to easily invoke smooth transitions in your SHIP's alignment. @endnode @node Chap2 "Decrease Animation Creation Time" -- Decrease Animation Creation Time --------------------------------- I'm very proud of this particular tutorial.. This tutorial can speed up your animation creation by a factor of 10 or MORE! Depending on the complexity of your animation. How? Read on, pioneer! Some of you may already know this, but as for me, it just dawned on me recently. My scenes are getting very complex, with objects ranging in size from 50k to 400k or more per object. As great as these mondo objects may look, they sure take hell-long to load up when moving about in the STAGE EDITOR. Even if an object like this shuttle or the CRUISER object is completely in FASTDRAW mode, it's so complex that it still seemingly takes forever to draw in the tri-view windows and in the perspective view. Here's the clincher. In your ACTION EDITOR, the size of an object is noted by only the size of the group's PARENT OBJECT'S AXIS in the size bar. All of the detail of an object is defined by it's relation to that parent axis, and is disregarded by the ACTION EDITOR. The only info in that SIZE BAR is the size of the one axis.. I'm sorry I'm repeating myself, but it's an important point! But what does this all mean?? It means that if ANOTHER object with similar size and shape had an IDENTICAL axis, it could be interchangeably used in the ACTION and STAGE editor as a less-detailed twin to your complex object. You can use this simple twin while you choreograph your animation, then easily switch it to the 'Real McCoy' when you're ready to render. On my Amiga 3000, I've been able to crank out animation preview frames at about 1 frame per second using the perspective window anim preview thingy. Here's what to do! I'll use the SHUTTLE object in this example to illustrate. In the detail editor, load up the NCC-80E.obj object file. Enter PICK OBJECTS mode. Click on the parent object of the entire group. If you need to use the FIND BY REQUESTOR method the object is called "NCC-80E.OBJ". Since you're in PICK OBJECTS mode, and not PICK GROUPS mode, only the one object will be highlighted. COPY and PASTE it. Go back to PICK GROUPS mode. ADD a *** Primitive; a PLANE with only 1x1 section. Hit F1 to pick the new plane. Use MODE; EXTRUDE. Just use the default values and click on PERFORM. Now use the 'm' and 's' keys to surround the bulk of the shuttle. Hit the spacebar when you're happy with it. Use the Amiga-N key to cycle through the existing groups until you hit the copy of the Shuttle's parent object. Hit F1 to pick it. Then hit Amiga-N till the extruded plane is selected. Use SHIFT-F1 to multi-select both the Parent axis and the extruded plane. Save the simple new object as "NCC-80E.fake" in the same drawer that your NCC-80E is saved. Enter the STAGE editor and use the ".fake" objects to choreograph your animation. Once it's perfect, and you're ready to render, save and enter the ACTION EDITOR. Starting from the top, enter all ACTOR BARS and change any file extensions that end with ".fake" to ".obj".. Save then render! Simple, eh? Once you can move about the STAGE EDITOR like water rather than sludge, it's easier to get more creative and daring in your animations. Simple, eh? In most cases, you'll want a .fake version of your object to be a LITTLE more complicated than a single box. There are no rules here, just remember, the simpler the object, the faster your animation creation! In many instances, object react with one another. Let's say you've got an object of an Amiga 3000 CPU, and a floppy disk. You want the floppy disk to leap off of a desk, dance around a bit, then jump into the disk drive of the A3000. But hey! If all you've got to work off of is a bunch of big, bulky, bounding boxes, I can't see where the floppy drive hole is for the disk to jump in to! Fortunately, I have forseen this sort of problem. And there are two main ways to fix it. One solution will work best in one situation, while the other will, well, you understand. Let's build on the floppy drive delimma. In the DETAIL EDITOR, Load up your A3000 object. Go ahead and make a big 'ol box for the majority of the object. Here you can do two things. You can add a plane (an un-extruded box?), move and size it so that it perfectly conforms to the drive bay entrance. Or you can tear into the original A3000 object. Enter PICK POINTS mode, and delete everything except for what makes up the outline of the drive hole. Group your drive hole with the big, simple box and delete the other offending object. Either way will give you an excellent referance for your perky little floppy object. Here are some other situations where these techniques will come in handy: Showing a hole in a wall plate for a light-switch or power outlet. Simple planes will do here. Leaving a car's original windows un-deleted so that camera has no trouble peering in to look at it's driver (or lack thereof). Text! Need to see which way your letters are facing in a logo? Hack into those originals and leave only enough to let you know what it says. Remember, nobody else has to look at these .fake objects! NOTICE: Imagine 3.0 will have some sort of automated fix for the long loading/displaying problem of your objects. But remember, an automatic bounding box won't leave in crucial details you'll need for precision animation! @endnode @node Chap3 "Get the Most Speed Out of Animation Playback" -- Get the Most Speed Out of Animation Playback --------------------- This tutorial will work with Deluxe Paint versions 3.0 and up. Obviously, getting an accelorator will boost your animation playback. The Amiga 3000's 32-bit path to it's 16-bit CHIP RAM helps a little, but not always enough. This small feature will tell you how to get your Amiga to animate at it's fastest possible rate, given your current hardware configuration. There is an exception to the rule, and I'll cover that first. If the animation in question, has a generally static background, a small, generic animation player will out-animate DPaint (Deluxe Paint). View v3.2 comes to mind. With a static background and limited motion of our animation's star character, View can zip throgh it up to 60 frames per second sometimes. Unfortunately, if the amount of motion from frame-to-frame increases during the course of the animation, your speed will decrease in the dynamic parts. The great thing about the DPaint method described below is it has a very steady frame rate. The bad thing is it eats up your memory like candy! Boot up DPaint. Go to the bottom of your ANIM pulldown menu and change METHOD from compressed to EXPANDED. Load your animation. Enjoy. Ok, what's happening? Dpaint is loading each individual frame into memory as INDIVIDUAL FRAMES. Normally, only the CHANGES from FRAME-TO-FRAME is stored in memory. Now Dpaint does not have to de-compress anything from frame to frame. The only slowdown you'll get now is if you get dangerously close to using ALL of your RAM, or of you're in a naturally SLOW resolution/colour mode. Stay away from High or Medium resolution with 16 colours. Folks with DCTV will get great use out of this, because they can render to Medium or High resolution, 8 colours and get speeds up to 24 frames per second on a 25MHz A3000. Just for fun, after loading your animation, select ABOUT in the far-left pulldown. This will tell you how much memory your animation is actually using. Prepare for a shocker. I have 18 MEGS of RAM, and I can have about 8 seconds worth of MediumRes/8 colour animation in EXPANDED mode. @endnode @node Chap4 "Making Custom Drawers in Your Projects" -- Making Custom Drawers in Your Projects --------------------------- When you open up a fresh project in Imagine, several things should happen: 1. A rush of natural chemicals, this makes your mind ready to explode into creativity at a moment's notice. 2. A drawer is created. It's given the name of your project, with an extention ".imp" on it. 3. Another drawer is created! Inside your "Project.imp" drawer, an "objects" drawer is made. What? Just one drawer to throw everything in?!? We'll see about that. For any of your medium to larger projects, one drawer to throw things into simply won't do. Here are some suggestions of what you can add inside of your "Project.imp" drawer: If you're a mammal, you may want to add a drawer called "brushes" so you have a place to put all of your project-specific brushes. I have a "brushes" directory in my Imagine drawer where I keep all of my frequently used brushes, like cloudy global image maps. But if you need to add a "To Protect and Serve" to your police car, it's good to have a drawer to keep it in, insted of cluttering up your Project.imp drawer with miscellaneous files and brushes. I've recently started doing this. I'll add other drawers for categorised components of my animations. Once I had a logo to animate (Gee, when does THAT ever happen?!). Each letter of the logo was seperated into an individual object. 20 letters in all! I made a drawer called "logo" and placed all the pieces to my logo jigsaw in it. Now picture this: Each letter of that logo is gonna be rotating along a seperate spline (See Tutorial #1) path. I made another drawer called "logo.paths" and filled it with paths. Then there was a background lined with different abstract shapes. I made another drawer for them. It doesn't matter what I called it really, there are no rules here. Imagine trying to load an object into the STAGE/ACTION EDITOR, looking into an "objects" drawer, and having to weed through over 50 objects in a file requestor? Forget that! @endnode @node Chap5 "What to Name Your Actors" -- What to Name Your Actors ----------------------------------------- Try something that sticks in the audience's minds. Something that makes a statement! Oh, wait, we're talking about Imagine. In the ACTION EDITOR, each component to your animation is given a name. That names is show in the far-left column of the screen display. This is not really the filename of that object/path/what- ever. It's a name Imagine uses to keep track of things. Remember that an object can morph from one actor to another, and introducing a second object to the ACTOR BAR does not change the initial NAME given to your object/path/whatever... The first time you are introduced to an object's name (not to be confused with the filename you save it to disk as) is in the DETAIL EDITOR. Pick an object, any object. Add one if you need to. Hit F7 to enter that object's ATTRIBUTES requestor. Hey! It's got a name field up there! Most of the time, objects are given names by default. You'll see names like SPHERE, PART.37, AXIS, etc... This is no fun if you're watching over 10 or more actors in the ACTION EDITOR. You can also change an actor's name by clicking on it in the STAGE EDITOR and using RENAME in your pulldowns. The most common method is to name them in the ACTION EDITOR. Enter RENAME mode, click in the box that contain's an actor's name and change it. Keep your names specific, but short. Things like CAR, SHIP, SIGN, EARTH, etc. are great. If you take an object called CAR in the DETAIL EDITOR, COPY and PASTE it, you'll wind up with the CAR object, and a copy called CAR.1. A copy of CAR.1 will yield CAR.2, etc... I have adopted this form of renaming duplicates because it's short, and to the point. The key here is to keep those names short. You'll see why SHORTLY [grin]. Sometimes, if I know I'm gonna be making duplicates, or loading the same object into the STAGE EDITOR, I'll RENAME my first object with a .1 and then go to .2, .3, ... from there. But that's just me. So why keep these names short? Here's why: When you get complicated, grand scale animations going with tricky maneuvers, you'll get combinations like the following. I find them great for keeping monster projects organized, and it's easy to SORT my script in the ACTION editor and they'll fall into their proper place nicely. 1. Our main object, a car can be called CAR 2. If our CAR is going to drive along a path, we call it's position- altering path CAR.PATH 3. (See Tutorial #1) If we want the car to waver and skid as it turns or halts motion, we'll have it align to an AXIS, which follows a different path. We can call these components CAR.TRACK and CAR.TRACK.PATH I think you can see how this can clean up a mess in a big way. As well as using SORT in the action editor to group all of the Car's components together, since they all start with CAR. Here's some other suggestions: CAMERA.TRACK, GLOBALS.PATH, LIGHT.2.PATH, CARMEN.TRACK.2 @endnode @node Chap6 "Looping the Waves Texture" -- Looping the Waves Texture ---------------------------------------- I recently was graciously granted some free time, so I decided to further explore new features in Imagine 2.0. Imagine 2.0 comes with a decent waves or 'constantly rippling water' texture. Allow me to say right here and now: IT'S ABOUT DAMN TIME!! There.. I had to get that out in the air. The waves texture is said in the manual to be best on grounds and flat surfaces for best results. I say you should try it out on a spere. Very trippy! The waves texture uses three entry fields in it's requestor. Wavelength, Amplitude, and Distance Travelled. Refer to the file "Wave.PIC" (Included in this archive) to see what Wavelength and Amplitude is. The Distance Traveled is not so easy to comprehend. It is only to be used when you want to actually 'ripple' the texture in motion (read: animation). This works by morphing.. You first create an object with the waves texture. Add the desired amounts for Wavelength and Amplitude and give the Distance Travelled a 0. Save that object. Now alter the Distance Travelled and save the same object with a different name (usually, I'd do something like 'Pool.1' and 'Pool.2'). Then in the Action Editor, you would display the first object on frame 1, and from frame 2 through the end of your loop cycle you would morph to the second object (if Morphing is new to you, refer to the manual). According to the Imagine 2.0 bible, the Distance Traveled in the second object should be exactly 1/2 the wave's wavelength. This is most certianly WRONG (Buzzing sound effect)! I have whipped up a mathematical formula for you that SHOULD work every time. Allow me to example. Let's say our Wavelength is 50, our Amplitude is 8 (As far as I know, the Amplitude has no bearing on calculating Distance Travelled), and the loop cycle will last 20 frames (This is the exact parameters of my Pool 2 anim). If you divide your wavelength by the number of frames, you will get the Distance Travelled PER FRAME. If you guessed 2.5, get yourself a rewarding snack. The morphing takes *19* frames. Now if you multiply the Distance Travelled per frame ^^ by the amount of morphing frames, you will (so far it works for me) get the appropiate Distance Travelled for the requestor of your DESTINATION object in the loop cycle. 2.5 * 19 is 45. The reason I went to such length to try and figure out a formula was so that you could easily make your own applications of the waves texture and get it right every time without the hassle (sp?) of trial and error. My amplitude in this situation was an 8, but I don't think this has much bearing (And we could all use a little more bearing from time to time!). But "Carmen," you ask, "what if I want to make an animation longer than 20 frames?! (or whatever amount of frames you choose for 1 loop cycle)" Simple. In the Action Editor, use Pool.1 (or whatever) on frame 1. Use Pool.2 for frames 2 through 20, with a Transition Frames value of 18. On frame 21, use Pool.1. Then use Pool.2 from frames 22 through 40 with a Transition value of 18. Catching on? To Recap, here's the formula: (Wvlngth / # frames in loop cycle) * (# of frames in loop cycle - 1) is equal to the Distance Travelled. The # of frames in loop cycle - 1 is also the amount of trasnition frames when morphing from object.1 to object.2. My example is like this: 50 / 20 = 2.5 2.5 * 19 [ or ] 2.5 * (20 - 1) = 45 "/" means 'divided by' by the way. In the Animation, I used three (3) sources of waves. One coming from the right, one from the upper left and another from the lower left. For some wacky reason, the waves eminate from and along the negative X axis of the texture's axis. In other words, if you have the X axis of the texture (NOT the object! Entirely different ball of wax) pointing to the right, your waves will move to the left. If you haven't yet started altering the axis of your textures, now's a good time to start learning (When Editing the axis of a texture or brush, always use the "l" key to do your editing in local mode). This is kinda goofy, because Imagine generally uses the Y axis for most of it's motion references. ** Important info for Release 1.1 ** Woops! I screwed up. I got some 18's and 19's mixed up. Re-read the article above as it is correct now, then read the addition below. I hope this didn't mess anyone's mind up TOO much. Here's what's right: In the 20 frame loop cycle situation, You *DO* use 19 (20 - 1) to mulitply to your Distance-Travelled Per Frame. But when this goes into the ACTION EDITOR, you CAN'T enter 19. Even though the 20th frame is technically part of the morphing, Imagine considers the last frame in a morph to be seperate from the transition. Which, from anoher point of view, it is. SO, use 18 instead. Here's how it's done right: Take your loop cycle # of frames (20, in our example), get the Distance Travelled Per Frame as described above, then multiply it by 19 (or 20 - 1). Edit the Attributes of the texture with the new value and save that object as your destination object in the loop cycle. THEN, when it's time to add it in the ACTION EDITOR, use the START object for frame 1, and the DESTINATION object for frames 2 through 20 with a Transition value of *18* (or 20 - 2). Once again, sorry for the confusion! @endnode @node Chap7 "Graphically Editing the World Size" -- Graphically Editing the World Size ------------------------------- I've recently figured out how to graphically alter the size of your GLOBAL world size in the Stage/Action editor. The Globals SIZE is a rectangular box that defines the area the camera will read from in RayTrace mode. This is why some of you have seen your objects 'sliced' or chopped off. This happens when they reside outside the globals world size parameters. "Well," you might say, "If I could see the world, I wouldn't have that problem!" Along the same lines, if you made the size of your (globals) world just small enough so that it encompasses all of my objects and nothing else, Trace times could be cut dramatically. Using this technique, I cut my trace time in this particular project by over a factor of 2! Here's what to do! After you've created your entire animation 'script' and are ready to render, do the following: Go to frame 1 in the Stage editor. Add an axis. Rename your new axis to "GLOBAL.AXIS". You will see the axis appear at location 0,0,0 by default. This is the center reference point for the world size. Never move the axis while performing this trick! The Axis should be a 'picked' colour (usually yellowish). Hit F1 to select it.. Now it will be Blueish (if you screwed with the colours too much in the preferences editor, you're on your own!) in colour. Hit the "s" key, and then the "l" key.. You are now scaling the axis in local mode. You'll know you're doing it right if the dotted lines that the X,Y and Z is connected to stretch along with the bounding box. While scaling, use the X,Y, and Z keys to bring the bounding box in as tightly as possible. The object is to surround ALL of the objects in the scene (not including lights or camera(s?)) without too much breathing room. The tighter the fit, the shorter the tracing time. Remember, this box doesn't have to be (and usually isn't) perfectly square. In my pool anim, the only objects used where the water, pool, ground and beach-ball. My axis was was large in the top view, but only tall enough in the front view to surround the Beachball and pool. Exciting, isn't it? NOW! Hit the space bar when you've got it just right. Enter TRANSFORMATIONS in the pulldown menu. Hit the size button and write down the three numbers on your arm. Save and enter the Action Editor.. On frame 1 of the GLOBALS track, add a size bar. Copy the information from your arm onto the requestor. Now this size information will stay this way for every frame unless you add another size bar for a different frame. If you have objects moving about, be sure that the globals size is adjusted on any frame that an object moves outside the parameters of our magical axis. Just resize the axis on that frame, write down the three numbers and copy the info onto a size bar of the globals of the same frame! Have fun! @endnode @node Chap8 "Graphically Positioning the World Size" -- Graphically Positioning the World Size --------------------------- Read and practice tutorial #7 until you understand how it functions. Now, as well as jotting down the GLOBAL.AXIS' SIZE, you can also take down it's position. Then go ADD a POSITION BAR in your ACTION EDITOR. Copy the GLOBAL.AXIS' position information to the GLOBAL's POSITION BAR. This means that you CAN move the GLOBAL.AXIS in the STAGE/ACTION EDITORs. If you do move it, you must copy the GLOBAL.AXIS' new position info and relay it to the GLOBAL's POSITION BAR for the appropriate frame. Remember, when moving anything in the stage editor, select POSITION BAR in the pullown menu to automatically add a new position bar with the new information. Of coure, this will add a bar for the GLOBAL.AXIS object, not GLOBALS, where it ultimately counts. This ability brings up all sorts of ridiculously uncalled for possibilities. Ever think of having your GLOBALS flying along a path? If you have, shame on you. This is truely Imagine abuse. So what's this technique good for? A few things.. The best idea that comes to mind this this: If you're rendering in full Ray Trace mode, and an object is residing half inside the GLOBAL world size, and half outside Imagine's world, the object will appear to have been chopped in half, with the out-of-bounds half missing. If you move your world in the course of an animation, you can have the world completely out of a scene, and slowly move in, ecompassing the object(s). This will make a 'revealing' effect to your scene. A 3-D video wipe if you will. @endnode @node Chap9 "Using Conform to Path" -- Using Conform to Path -------------------------------------------- Here's a tutorial on how to bend and twist your 3-D logos with Imagine 2.0 by using the CONFORM TO PATH feature. If you're using Imagine 1.1 or earlier, you're on your own. If you can't afford to upgrade, you've got more pressing problems than conforming text to a path. :) NOTE: Be sure your letters are READABLE in the front view. Odd are that this is the case, but be sure your font object is facing you in the FRONT VIEW, and the TOP VIEW and RIGHT VIEW are actually the top and right views (excuse the run-on sentence). In fact, this whole tutorial can probably done in the FRONT VIEW alone.. So you may want to blow it up to full screen size. The first thing you've gotta to is to take yer font object, and using SHIFT-M and SHIFT-R, move ONLY IT'S AXIS to the far left of your letters. And then point your Y axis to the right. (All this from a FRONT VIEW vantage) This is not required, but I've found that moving the axis to the left will ensure your text does not get distorted as it's pathed (porportionally speaking). Now, with the font object picked, enter TRANSFORMATIONS (from the pulldown). Click on the size button and write down the three #s. Then click on the position button and write down the three numbers. You'll be using these 6 numbers heavily. Add an open path. Click on the path's axis and enter TRANSFORMATIONS. Give the path's axis the same position and size as your font object. Now, with your path picked, enter EDIT PATH mode. Your path (in the front view) should now be going from left to right. Click on the right-most poing on the path and then hit 'm' to move it. Before you move it, hit SHIFT-X, so that you're only moving it along the world's X-axis. Now simply drag it to the right a ways, about to the end of your font.. No need for precision yet.. You're just getting it out of the way. Now click on the left- most point and enter TRANSFORMATIONS. You guessed it, give it those same POSITION and SIZE numbers. Since you took the care to line up all those axis (plural), you are in a strategically sound place for creating animations of your text bending and contorting in all sorts of funky ways. More on the animation possibilities later... Now it's time to make your circle. Zoom out a bit if you need to (Left Amiga-o). Pick your path (it's blue when it's picked, yellowish when it's selected; big difference) by clicking on it or other clever means. Enter EDIT PATH mode and find that right-most point again.. Yes, the same one you got out of the way earlier. Click on it again. Hit 'm' to MOVE then SHIFT-X, and then slide it over the the far-right edge of your font object. NOTE: You might need to re-enter PICK GROUPS mode and redraw the screen so you can see it. Imagine ignores everything else when you are editing an object on a point by point basis. After you've fixed the path, go back into PICK GROUPS mode (or PICK OBJECTS, no big diff here). In your pulldowns, ADD a SPHERE. This is just for your referance to line up your path to. Enter TRANSFORMATIONS with the sphere selected. Click on it's POSITION button and give the X value the same number you wrote down earlier. The Z and Y don't matter. Back in PICK GROUPS mode. Click on the Sphere and hit 'm' and SHIFT-Z. Now move the sphere (up or down) so that it's below your text. What you are going to do here is scale the sphere so that it represents the size and length desired for your path. In your head, Imagine the length of the path (and your text, they're both the same) bend into a circle.. How big would that circle be? Make it that big.. You don't need the precision of a surgeon here.. A little distortion won't be noticle anyways. For a decent sized sphere, you'd better have a decent amount of text modeled up. Either that or lots of spacing.. Now that you've scaled it (using the 's' key), use 'm' then SHIFT-Z to move it up so that the tip of the spere touches your path. You can now use the sphere as a referance to make a good circle. Click on your path and enter EDIT PATH mode. Be sure your sphere is in full view so that you won't have to move or zoom your view for this operation. This way your sphere referance will never disappear. Click on the Right- Point of the path and move it down, down, down a bit below the sphere. Now click on Point up at the top of your circle. Select FRACTURE. Click on the new point and move it to the bottom-most of the sphere. Now rotate it on it's Y axis ('r' then 'y') so that the path conforms to the right side of the sphere, and the line going through your control point is more or less going left to right.. Then you can go into TRANSFORMATIONS; ALGNMENT and fix the Y alignment so that it's 90, or -90, or 180, whatever.. It should be close to one of those right now. If you feel you need another point inbetween the first and second point to further define the curve, read on.. Click on the first point and Select FRACTURE. Move the new point to the far-right center of the sphere. The angle should already be straight up and down, but use TRANSFORMATIONS; ALIGNMENT if you need to. Now go ahead and keep doing what you're doing until your path is beautifully covering your sphere outline. You might want to leave a gap between the start and end points so that your text doesn't bunch up upon conforming. Enter PICK GROUPS mode once again. Click on your path and save it. Pick your Text. Enter MOLD in your pulldowns. Pick CONFORM TO PATH. As long as there is only one path currently in your editor, the defaut values are just fine.. Just click on OK and cross your fingers. You should now be looking at your text, bent along a circle. Save it, but don't save over your original straight text object! Now, if you Delete your curved text from the editor (NOT from your disk!) and re-load your straight text, we can have some fun! Pick your path once again. Enter EDIT PATH mode. Click on a control point.. Any point. Hit 'r' then 'l' then 'y'.. You are now going to rotate a control point's Y axis in local mode.. Since the point's Y axis resides along the path, you are actually TWISTING the path. Don't go crazy tho.. Nothing more than a 30 degree twist (Just eyeball it for now). Resave the path under a different name, then re-conform your straight text to the new path. Pretty trippy, eh? If you work at it, you can move, rotate and twist your path to create some wild logo anims. Do these transitions in increments and save each step object as a different name. There's only one thing you've got to bear in mind: When Imagine morphs points from one object 'pose' to another, it does so in a straight line! So simulating bening and twisting can be tedious, as you'll need almost 10 seperate object 'poses' to simulate a decent curling anim. Twisting seems to be the most difficult one to master for animations. Another note about animations... Before saving all these incremental objects, check for something.. Is the area where my text spawns from at any angle whatsoever? If so, that means it's conformed to the path.. Yep, your AXIS conforms right along with the rest of the object.. Click on the axis if your feshly distorted object, and enter TRANSFORMATIONS. Now click on TRANSFORM AXIS ONLY. Now copy those same nutty POSITION and ALIGNMENT values from earlier.. Now your axis will remain static as your object moves around.. Otherwise you might get unpredictable motion in the Stage Editor. Geez! Have I typed enough?! Let me know if this tutorial helped you out at all by posting E-Mail to me in the FidoNet's Amiga_ Video Echo. Have fun!! @endnode @node Chap10 "Hiding 2-Dish flaws in 3D objects" -- Hiding 2-Dish flaws in 3D objects -------------------------------- If you've got reason to hide certian parts of you object, this tutorial is for you! This Tutorial is a spin-off of the breakthrough tutorial that came with the "CRUISER.LHA" object that I did just a few weeks ago. Here's the problem.. You've made this cartoonish looking SUN. You know the kind; it's got spikes coming out all over it's silhouette. But if the sun or the camera is moving around, the sun won't look good if it's rotated to the point where the spikes are going down the middle of the sun like a backbone! This is not good. Here's what to do.. Load up your SUN object, or whatever it is. Click on it. Using SHIFT-R (to rotate it's axis only), rotate it's axis so that the Y axis is pointing in the direction that you want your object to face. If, in your FRONT VIEW, your object looks the way it should look, go to the TOP VIEW and make sure the Y axis is pointing out of it, like it was struck by an arrow labled 'Y'. I hope that's not confusing.. In the TOP VIEW, the Y axis will aim towards the bottom of the screen. Save your object. Go into your Stage editor.. Load up the object. Save and enter the Action editor. Find the object's ALIGNMENT BAR. Delete it.. Add another ALIGNMENT BAR to replace it. Tell it to TRACK TO OBJECT. And Give the object's name CAMERA.. Simple eh? It's aiming at the CAMERA, just as you would aim the camera at something.. One catch.. Imagine doesn't like you to track object A to object B, while object B is tracked to A. If you need the Camera to track to your Camera- tracking object, add an axis, and have it mimic the poisiton of your Camera-tracking object; and have the camera track to the new axis.. Simple, eh? @endnode @node Chap11 "Signing Your Animations" -- Signing Your Animations ------------------------------------------ If you want to put your name on your projects, here's a quick and easy way to do it. This technique will not work effectively if you alter your camera's focal length during the animation (read: Changed your camera's size bar). It allows you to put things like "©1992 Carmen Rizzolo" in the lower-right hand corner of your animations. But if you put my name in your animations, I get royalties! :) The following steps will be the last thing you do in your animation. Just before you do your final rendering; do as follows. Boot up DPaint. Make your screen resolution Hi-Res, 2 Colours. Make your background colour (Colour 0) anything but black. Make your foreground colour (Colour 1) Black or a shade of grey. The ligher the grey, the more transparent your text will be. Type out what you wish and grab it as a brush. As you grab your text with the box, give about 3-8 pixels space away from the edges of the text on all sides. Don't come in too close because it might get chopped off when Imagine performs it's 'auto image-mapping' feature. Save your brush. Kill Dpaint. Boot up Imagine. Enter the detail editor. Add a PRIMATIVE; PLANE. 1x1 section is all you'll need. Scale your plane so that it's closely the shape of your brush. You might need to come back here and fix the size after a few test renderings if the perspective is thrown off by your plane being too wide or something. But don't worry about that too much right now. Enter the plane's attributes. Make the COLOUR whatever you want the colour to be when rendered. Make the REFLECTIVITY 0,0,0 unless you feel artsy. Give the FILTER guns all the way up. SHININESS and everything else, 0. Make the object a BRIGHT object by clickin on the BRIGHT button. Now Click on the BRUSH 1 button and load up your IFF bush. Make it a FILTER MAP and tell it to USE GENLOCK. This mean that Imagine will disreguard the background colour of your IFF brush. Hit OK and back out of your attributes requestor. Here comes the tricky part. Add an axis. In the TOP VIEW, move your axis below, and to the left of your PLANE object.. By the way, Your plane object should look like a straight line from the TOP VIEW. Your axis' Y axis should be pointing north if you haven't changed it (Still, TOP VIEW). Click on the Axis, and then SHIFT-CLICK on the PLANE. Now select GROUP. Click on your axis again and enter ATTRIBUTES, and give your group a name if you wish. Exit Attributes and SAVE your GROUP. Enter the ACTION EDITOR. Go to the bottom of the pile, and select the ADD BUTTON to enter the ADD mode. Double-click on the POSITION BAR of the bottom-most entry; which is was blank. After you've double- clicked on the POSITION BAR, frame 1 of the blank slot, load up your Signature object. Click on RENAME, then click on your new object. If your Signature object it named SIG, call it AA.SIG. Now select SORT in the pulldowns. Your signature object should be up at the top of the list now, just below GLOBALS.. This make it easy to do the next step. Go through your script and make the POSITION and ALIGNMENT BARS mimic the POSITION and ALIGNMENT BARS of your CAMERA. Now your Signature object will follow the camera, and appear to not be part of your animation, but a superimposed graphic. Save and enter your STAGE EDITOR. In the STAGE EDITOR, Pick the Signature object. Since it's in the same place as the CAMERA, you might need to use FIND BY REQUESTOR to access it. Once it's blue (or purple), SCALE it down, down, down. Make it very tiny so that it's very close to the CAMERA, and nothing will come between your signature object and the CAMERA. You might need to now SAVE, and go back to the DETAIL EDITOR to MOVE and SCALE the SIGNATURE's PLANE object (NOT the whole GROUP! -just the PLANE child object!) so that the size and position of the text is in the lower- right hand corner of the screen, and nice'n small. You might have to go back and forth from the STAGE and DETAIL EDITORS to get it just right. Remember, if you just pick the whole group and SCALE and MOVE, you won't see any changes back in the STAGE EDITOR. You must Select the PLANE when you perform your chages.. Important point here. When you've got everything just right, it's time to render. This series of steps is actually much less complicated than is seems. Once you do it a few times it'll be like second nature. And it's much easier than editing each and every rendered image; putting your name in. Of course, it's also cheaper then using a Choma or Luminance Key system to super-impose text onto video. Have fun!! @endnode @node Chap12 "Crack Your Objects Up!" -- Crack Your objects Up! ------------------------------------------- Oh no! You're headed for a generic image! Got a few reflective spheres lying around, doing NOTHING? Let's make it a little more interesting. The following tutorial will not only make you familiar with the ins and outs of the SLICE feature, but will give you an interesting situation to use it in. Enter the DETAIL EDITOR. ADD a PRIMITIVE; SPHERE. Not the faceless sphere that's represented as a mere circle, but the one that is selectable in the Primitives requestor. The more generous you are with the CIRCLE SECTIONS and VERTICAL SECTIONS, the better your final images will look. The default values are acceptable for most cases- barely. The default SIZE values are fine as is. ADD a PRIMITIVE; PLANE. Give it also a decent amount of sections. Say, 15x15 section values. The PLANE object you just added will appear at location 0,0,0. In the same place your SPHERE appeared. DON'T EVER MOVE THESE OBJECTS! All you've got to do to pick them is to use the Amiga-n or Amiga-b keystrokes to cycle through the objects with the orange 'Selector.' Then when one you want is orange (Or purple), hit F1 and it's 'picked.' PICK the PLANE. Hit s to SCALE it. Just make it so that it's a little bigger than the SPHERE. 10% larger should do just fine (Eyeball it). In the Mode pulldown, turn MAGNETISM ON, then enter MAGNETISM's SETUP. Set the RADIUS OF INFLUENCE to 30, and MINIMUM RADIUS around 8. Turn on RANDOM RADIUS. Now hit USE to have some fun. Once again, Under MODE pulldown, use DRAG POINTS mode. In the FRONT VIEW, you should see the broad side of your PLANE, and a thin view of your PLANE in the TOP VIEW. Hold down your SHIFT KEY. Click (And Release) on a point of your PLANE in the FRONT VIEW so that it turns reddish. Click and HOLD in the TOP or RIGHT VIEW and then let go of the SHIFT key while still depressing your left mouse button. The Grid Mesh should Jump towards your pointer. If it doesn't, just move the pointer a tad. What you are doing is pulling out the mesh, giving the plane pits or bumps. Try to only move the main point only along the Y axis (Only to make a deeper pit or a higher lump. not leaning in any direction). Your finger is probably aching by now, and I know you want to let go, but before you do, remember that your are editing the 'cracked' part of your sphere. Don't make the im/depressions TOO severe unless you want a weird look (And there are no rules against that). Repeat this process several times until you've got a nice, imperfect FRACTURE PLANE. Then go back into PICK GROUPS (or OBJECTS) mode. Save both objects as individual files. With the SHIFT KEY held down for multi-selection, click in the center of attention so that both the PLANE and the SPHERE are Picked. You may have to use the Drag Box pick method, or Amiga-N and SHIFT-F1 like I explained earlier. With both objects picked, use the SLICE function in the OBJECT pulldown. If you're having trouble slicing, here's what you can do: Slicing is memory intensive. Sometimes, you'll just be lacking in memory for this function. With just a plane and a sphere, this is just a simple procedure so most will not have this problem. If you are running out of memory in this tutorial, I suggest starting over and using a less detailed sphere and plane. There's also another weird set of problems that can surface. "ERROR: Edge to close to an Edge" -or words to that effect. Ok, so it's slicing method isn't flawless.. Actually, it's far from flawless. Once in a great while, it'll fumble when there's a point too close to another, or two edges from seperate objects that are nearly parallel. You can pick one of the two parts, and scale it up slightly, or move it over just a bit in one or more directions. Sometimes, nothing will seems to work. It just will not slice. There are two fixes for that that I have found to work "most of the time." Pick one of the objects that are to be sliced. Using Shift-M, move it's axis so that the one axis does not share a common position in either the X, Y or Z global coordinates. I'm not too sure how much this fix actually helps. But it doesn't hurt anything, since each object gets a new axis position upon slicing anyhow. Lastly, Slicing does not like to get too complicated. This one will not rear it's ugly head in this tutorial, but I found it out once when I was trying to slice about 20 objects together, and nearly all of the pieces were intersecting with one another. I had to break up the slice into several smaller slice projects. Basically, the rule I learned here is K.I.S.S. or, Keep It Simple, Stupid. After a bit, the FRACTURED PLANE should have sliced through your SPHERE. All the pieces of the slice will be given a new AXIS, roughly centered on it's bulk. The new AXIS will all be GROUPED into a PARENT AXIS at location 0,0,0. Click on the PARENT AXIS, and use UNGROUP in the OBJECT pulldown menu. Using a steady hand, or Amiga-N Select the AXIS that used to be the PARENT AXIS of the sliced group. This AXIS should have no points or faces with it. Just an axis. Once you have it selected (Orange in colour), hit F1 and DELETE it (In the Functions pulldown menu). Then use Amiga-N to select the trimmings of your factured plane. In the front view, it should look like a plane with a hole cut in it. With it Orange, hit F1 and then DELETE it. You now are cleaned up from the slice. Click on the AXIS of the wrinkled center-piece. Formerly the wrinkled plane. In the OBJECT pulldown menu, COPY it. Now click on one of the halves of your former SPHERE. Shift-Click on the wrinkled center. GROUP. Use PASTE in the OBJECT pulldown. Click on the OTHER half of the sphere and hit Shift-F1 to multi-select the SPHERE and the clone of the wrinkled center. GROUP. It's important the SPHERE part was clicked on first, then the wrinkled center, because the Sphere should be the parent of the group. Congradulations. You're done. Save the two groups as seperate files. Then you can load then up in the STAGE EDITOR, and they'll appear to be a single sphere until you make them fly apart, or whatever. When setting attributes, the sphere halves should both have PHONG shading and identical attribute settings. The two center pieces can be either phong or not, it's up to you. And the attributes should be identical. In the ATTRIBUTES REQUESTOR, you can SAVE your settings for one, and LOAD those settings in for the other one. But wait!! There's more that can be done!! Let's say we want an IFF image mapped to the sphere, or a texture assigned to the sphere. And when the sphere breaks apart, the mapping should not go haywire. Here's what you can do: With both of your cracked pieces saved, delete them from the DETIAL EDITOR and memory (But not from disk, of course). LOAD up the original, un-sliced sphere (You did save it when I told you, didn't you?). Click on it, and enter the ATTRIBUTES REQUESTOR via the F7 Function Key or a pulldown menu. Give it attributes, and map or wrap an image to it. After mapping to taste, and before leaving the image/texture mapping requestor, click on the TRANSFORM AXES button. On a scratch piece of paper, write down the X, Y and Z values for POSITION, ALIGNMENT and SIZE. SAVE the attributes to Disk. Call it "Sphere.att" or whatever you like. Then leave the attributes requestor. Save your SPHERE object. With the SPHERE still picked, use the object pulldown menu and enter TRANSFORMATIONS. Click on the POSITION button. X, Y and Z should be 0,0,0. No problem remembering that one. Now click on the SIZE button. Using a scratch piece of paper, copy down the X, Y and Z values. In this SPHERE tutorial, chances are they're all the same number. 50, if you kept it at the default size. Exit the requestor and DELETE the SPHERE. Load one of your SPHERE halves. The SPHERE half itsself should be the parent axis. Click on it. Enter TRANSFORMATIONS. Activate the "Transform Axes Only" button. Click on POSITION, and change the X, Y and Z values to 0,0,0. Click on the SIZE button and change it's X, Y and Z values to what you wrote down on your scratch paper (read: Brain?). Hit PERFORM to exit the requestor. The AXIS of the SPHERE half is now IDENTICAL to the ORIGINAL SPHERE. Enter the ATTRIBUTES REQUESTOR (F7). LOAD the attributes file you saved earlier. Find the depressed button from your image/texture mapping and cheer it up, I mean click on it. If you click on EDIT AXES, you'll see that Imagine 2.0's 'automatic axis scaling' works against you in this perticular scenario. Hit the TRANSFORM AXES button and go though the POSITIION, SIZE and ALIGNMENT buttons, restoring their values to what you wrote on your scratch paper earlier. PERFORM, then OK, then OK again to back out of the ATTRIBUTES REQUESTORS. SAVE the updated half of your sphere. DELETE it, then do this paragraph's instructions to the second half of your sphere. What you've just done is made the AXES of the SPHERE HALVES take up the same place in space. And when they're together, your image will appear seamless. When they break apart, the image will follow each half of your sphere just as you would expect it to do in real life. In some instances, you'll want to use your original, un-sliced sphere in your animation until it breaks apart. Then you replace the sphere with the two sections at the frame where they float away or whatever. If you also move the AXIS of each of the center pieces to position 0,0,0, you can perform RADIAL texture(s) to both of them to make it look like different layers of the earth's crust or something similar. Fun, isn't it? Remember that the parent axis of the sphere halves are the same position, alignment and size as the original sphere, so when you replace them at any time in the action editor, be sure to duplicate the original sphere's POSITION, ALIGNMENT and SIZE bars, and give the info to the newcomers. Good luck! @endnode @node Chap13 "More on Speeding up Trace Renderings" -- More on Speeding up Trace Renderings ----------------------------- One small note. An appendage to #7 and #8... The smaller your object's faces are compared to your global world size, the longer your renders will take. For instance, if you set up your globals to engulf a large bedroom, and in the corner of this room is a desk, and on this desk is a complex object of a lamp or telephone (or both). This will dramatically slow down the render. On the other hand, if the telephone or lamp was as large as, say, the bed, your render won't take nearly as long. @endnode @node HowTo "How to use The Imagine Organizer" As of version 1.3 of The Imaginer Organizer, Cross-referencing is available to you. If you see a word like EDITOR or ESSENCE, simply double click on it, and if it's part of The Imagine Organizer's limited vocabulary, it'll jump to a section telling you all about that word and how it related to Imagine. One exception, however, the word MUST be seperated by spaces. In the above example, ESSENCE will not work, because it's got a comma next to it. But ESSENCE will work in this sentence and the previous one. Once I learn more about the amiga.guide's abilities, I can fix this limitation. If you double-click on a word that The Imagine Organizer does not understand, your screen with flash, and you'll recieve a mild electric shock (If are not holding the index finger of your left hand in your Amiga's floppy drive, do so now). When you're done using the cross-referencing, hit the RETRACE button at the top of the window, and you'll get back to where you left off. @endnode @node Disclaimer "Disclaimer" -- Disclaimer ------------------------------------------------------- I claim no responsibility to the claims made in this document. Use it at your own risk. Products mentioned in this document are a trademark of it's respective company. This document can NOT be broadcasted, printed in a magazine or other paper media without the express written permission of Carmen Rizzolo. @endnode @node Imagine "Imagine" -- Imagine ---------------------------------------------------------- Imagine is the 3-D rendering system that this whole thing revolves around. If you don't know what this is by now, you have no reason to be reading this! Call Impulse at (612) 425-0557. They make Imagine. @endnode @node FidoNet "FidoNet" -- FidoNet ---------------------------------------------------------- FidoNet is a network of sorts. Although not as grand as fast as the InterNet and UseNet, the Amiga_Video echo there is a favorite hang-out of mine. Ask your local BBS SysOp if he carries FidoNet, and to have him point you out to it. If you don't own a modem, chances are you have no idea what I'm talking about here. So pay no attention. And buy a modem. @endnode @node Essence "Essence" -- Essence ---------------------------------------------------------- Essence is a set of "extra" textures available for Imagine. The following is a review I made of it back when I first purchased it... Yup! Here's another loopy review by Carmen! ESSENCE: A Library of Aglorithmic Textures for Imagine Drooling over Lightwave 3D renderings? Want something a little more intricate out of Imagine's surface textures? Look into Apex software's hot selling ESSSENCE for Imagine and Turbo Silver. What is Essence? It's a library of new textures. What is a texture? A texture can be a powerful influence on the overall appearance of your objects. A texture can alter the colour, reflectivity, transparency and altitude of your object's surfaces. Textures only use from 8 to 20k of memory, so there's an obvious advantage over using IFF mapping. Of the textures that are included with Imagine, you can do things like: Add a checkerboard effect to a ground for the overused 'kitchen floor' look. Make a surface become more and more transparent like the beam of a spotlight, growing less intense as it climbs into the atmosphere. Essence adds 60 (!) new textures to the existing 14 textures. not all of the new textures are unique from the rest. Many are variations on a theme. For instance, FRACTALCOLOR, FRACTALREFLECT and FRACTALFILTER all do the same type operation, but only effect an object's color, reflectivity or filter values respectively. Here are the requirements for Essence: You must have either a 68020, 68030 or 68040 type accelorator. Essence will not work on an unaccelorated machine because it's textures use floating point math. Essence will work with Turbo Silver and Imagine. If you're unfamiliar with using textures in Imagine (or TS), you'll be completely lost with Essence. It'll be worth your while to start familiarizing yourself with textures right now. IMPORTANT NOTE: The more dramatic textures in Essence are SLOOOOW to render. I'm talking the kind of slow that screams out for a 68040. The best examples of this are the textures based on fractal mathematics. Fractal operations on the Amiga have never been very speedy, and Essence reminds you of it. Although Imagine's textures parameters ar very powerful, Essence takes this power a step further. Every texture has the following features: Fade: You can make your texture completely effective, or not at all. Imagine dissolving a texture into an object over time. Or having one texture dissolving out as another dissolves in! Any time you make a boo-boo when entering parameter values, such as giving a 5.xx when you're only allowed to use a solid 5, Essence will paint your object with a loud checkerboard pattern to let you know you goofed. Different coloured tiles represent different errors. Every fractal Essence texture begins with the following parameters: Initial Scale: Size (Imagine units) of the minutest of details. # of scales: # of scales added to form noise. Basically, the more scales, the higher quality. Numbers higher than 6 really tack on the rendering time. But wait! This parameter does more! If you add a 4.3215, the .3215 will act as a random number seed, while you still get 4 scales. And yet another feature! Making your parameter a negative number activates rotation enhancement, which can improve the look of fractals on flat surfaces and bump mappings in general. Hats off to Steve Worely (The author) for putting three parameters into one field, leaving more parameters open for other goodies. Scale Ratio: Rate at which scales decrease. Amplitude Ratio: how smooth or sharp the amplitude of the scales get. Time Ratio: How fast the scales change when animated. Usefull for animating swirling clouds or smoke. Time: Time when the texture is evaluated. This feature is also used for animation purposes. Here's a rundown of the new textures with some breif notes or descriptions of each: Bump: Fantastic flexibility, can range from lumpy glass looking to roughly-cut concrete. Simply amazing, but slow. DiamondDeck: a nice studded non-slip bump-pattern. Flatten, Sphereshade: Two related textures. Make your objects appear to be completely flat like a painting, or puff-up to swelling porportions. Weird! Hexmesh, Gridmesh, Stripes: Add raised hexagons with beveling. Treebark: You figure it out. Bricks, Checks: You now have cylidrical or spherical based versions of these classics. BBCourt: basketball court! Counter: Add a LED readout to your VCR objects! HueRotate: Rotate your colours along the colourwheel. Changes solid colours over time. Mandelbrot: Stick a mandelbrot on your object and zoom, zoom, zoom in! Polkadots: Did you see a doctor? No! Just spots! VeinedMarble: Hell-slick marbly texture. based on fractals. Slow. Blob, Bozo, Fractal, Turb(ulent): All fractal based textures. Each comes with Colour, Reflect and Filter versions of each. Create things like dirt, oil, clouds, military camoflauge, etc.. Powerhouse textures. Slow textures. Cubist: Q*Bert anyone? Floortile: Nice twist to the bland checkerboards. Adds coloured 'streaks' in the lanoleum (sp?) Hex: Hexagons. Three colours possible. Triangle: See title Swirl: Get dizzy! Also good for screws. SwirlFract: Have fractals tear that swirl apart. Bandsim, Ringism, Shellism: Add bands or rings.. Like on Saturn. BandFract: Fractal distortion to your bands. SLICK! Linearism, Cylindism, Radialism: More of the classics. Improved transitions for radial. LinearFract, RadialFract, RadialTurn, CylindFract, CylindTurb: More sexy fractal interference. Solid: Paste a solid color. SwapCRF: Exchange color values with reflectivity values. Interesting. SwapRGB: Rotate the R,G and B values. VaryabRGB, VaryabSRGB, VaryRelBright: Vary partent surface colour with fractals. I know this is an exausting review, but I think the only real way to clue you in on the power is to let you know what each texture can do. Essence will set you back about $80. But it'll vastly improve the look of your objects. Great for impressing those clients. If you've got the means, and the accelorator to match, I highly reccomend Essence. Carmen Rizzolo @endnode @node Lightwave "Lightwave 3D" -- Lightwave 3D ----------------------------------------------------- Lightwave 3D is another 3D rendering system considered by some to be Imagine's biggest compeditor in it's market. Lightwave comes with the purchase of the VideoToaster from NewTek. You can call NewTek for more information at (800) 765-3406. @endnode @node Objects "Objects" -- Objects ---------------------------------------------------------- An objects is just the generic term by us 3D people refer to the cluster of points and faces that our 3D systems use to create an image. To be a little more technical, and a little more Imagine- specific, each object is anchored to 3D space by an axis. An object can be linked to other other objects. The little network created by all these linked objects is called a group. The parent of the group can be either an object or a lone axis. You can tell objects are grouped together by yellow lines running through their axis. @endnode @node Object "Objects" -- Objects ---------------------------------------------------------- An objects is just the generic term by us 3D people refer to the cluster of points and faces that our 3D systems use to create an image. To be a little more technical, and a little more Imagine- specific, each object is anchored to 3D space by an axis. An object can be linked to other other objects. The little network created by all these linked objects is called a group. The parent of the group can be either an object or a lone axis. You can tell objects are grouped together by yellow lines running through their axis. @endnode @node Paths "Spline Paths" -- Spline Paths ----------------------------------------------------- Imagine uses "Splines" or "Paths" two basic ways. An object's position can move along a spline path. An object can be "conformed" to a spline path. Think of it as running a wire though soft clay, then bending the wire. @endnode @node Path "Spline Paths" -- Spline Paths ----------------------------------------------------- Imagine uses "Splines" or "Paths" two basic ways. An object's position can move along a spline path. An object can be "conformed" to a spline path. Think of it as running a wire though soft clay, then bending the wire. @endnode @node Spline "Spline Paths" -- Spline Paths ----------------------------------------------------- Imagine uses "Splines" or "Paths" two basic ways. An object's position can move along a spline path. An object can be "conformed" to a spline path. Think of it as running a wire though soft clay, then bending the wire. @endnode @node Stage "The Stage Editor" -- The Stage Editor ------------------------------------------------- The Stage editor, generally, is where you "Set the stage." load the objects, point the camera, add some lights, tell who to do what at a certain time [frame number], etc.... At first glace, it looks a great deal like the detail editor. With only one exception, no object editing is done here. The one exception is the ability to "snapshot" an object. That is, going to a frame number where an object in question is in the midst of a "transition." It can be morphing from one object to another, exploding, whatever. Click on it's axis and use SNAPSHOT from the pulldown menu. Then you'll get a requestor to save your object. @endnode @node Axis "Axis" -- Axis ------------------------------------------------------------- The axis is the "anchor" of each and every element in Imagine. The way Imagine "knows" where to remember an object's position, is by merely remembering it's axis in the position bar. The location of each object's points, are rememberd by their relation to it's axis. The same rule goes for what angle the object hangs at, and it's size. It all boils down to our friend the axis (kind of a subtle pun there if you can figure it out). @endnode @node Axes "Axis" -- Axis ------------------------------------------------------------- The axis is the "anchor" of each and every element in Imagine. The way Imagine "knows" where to remember an object's position, is by merely remembering it's axis in the position bar. The location of each object's points, are rememberd by their relation to it's axis. The same rule goes for what angle the object hangs at, and it's size. It all boils down to our friend the axis (kind of a subtle pun there if you can figure it out). @endnode @node Action "Action Editor" -- The Action Editor ------------------------------------------------ The Action Editor, the "twin" of the Stage Editor, is the heart of Imagine's animation abilities. It is a script, but it requires less typing that you would think, so don't be scared of it. It's vital you understand what it can do for you. In the upper left-hand corner is the number of frames. The number of frames always starts out at "1" and you can simply click in the text field there and change it. Just remember that full motion video moves at 30 frames per second, and most Amiga animations move at about 15 to 25 frames per second - depending on the complexity, # of colours and resolution of the animation. Each element has a BAR that travels down the time-line. If there is no bar on a certian frame, the value defined for that frame is referanced from the last defined bar (to the left, or past). In the case of the ACTOR bar, if there is no bar on a certian frame, the element does not exist on that frame. Each element in the script has 6 characteristics that tell Imagine all it needs to know for Imagine to do it's thing. The following is the 6 ways an element can be defined... ACTOR: Tells Imagine WHAT the element is. If it's an object, the actor information contains the pathname and filename of the object used. If it's a light source, the informations defines what colour and intensity the light is. The CAMERA is the only exception. The CAMERA never has an actor bar. POSITION: Tells Imagine WHERE the object is, based on it's axis. This information can be typed in as X, Y and Z values, or an object can be told to move along a spline path. ALIGNMENT: Tells Imagine what direction your element is facing. You can type in it's X, Y and Z values in the form of degrees (0 through 359). You can tell it to constantly "point" to another object, or just an axis. You can also tell it, when the element is moving along a path, to aim in the direction that the path is leading it. Whenever an element is told to aim or "track" to or along anther element, it's always the "Y" prong of the element's axis that does the pointing. SIZE: Tells Imagine what size the element is. Pretty simple, eh? If, during the course of an animation, you increase only the Z value in the size bar, the element will grow only along it's axis' Z direction. Special note for the CAMERA: The X value in the CAMERA's SIZE BAR define's the focal length of the camera. It works like a ratio. If you increase all the size elements of the camera at once, it will have no effect. But the larger or smaller you make the CAMERA's X value in ralation to the Y and Z values, the more the CAMERA's vision will distort. Larger X values will exaggerate perspective and make the camera feel smaller. Smaller X values will flatten perspective effects and make the camera feel larger. If you want to make an animation of a camera moving through the eye of a needle, boost the X value of the CAMERA's SIZE BAR. HINGE: gives the effect of an element moving in a bent, 'orbital' motion of another element, instead of a straight line. This is the best I can do until I've done a tutorial in this. I rarely use the HINGE BAR myself. F/X: Any Special effect in Imagine's "Effects" drawer can be applied to most any element. Each effect has it's own interface. And example of an effect is "Explode" wich blows the faces in an object apart. Each triangular face can be told to spin and change size over time. There can be two F/X going on at any time for each element. Only ACTOR, POSITION, SIZE, and ALIGNMENT bars are required for 80% of the stuff you'll be doing in Imagine. Each element has a "name" along the left side of the screen. This is NOT the filename of an object, it can be anything you want. These names are how elements are called upon when two or more elements react with one another. For instance, if you want an object to follow a path, and the path you want it to follow is named "PATH.1", you will type in "PATH.1" in the POSITION BAR's requestor. -- Quickie Tutorial to Help You With the Action Editor -------------- Let's say we want an object to appear at frame 1, then start moving from frame 5 and end moving at frame 25. If you haven't already, start a new project. It's easiest to use the STAGE EDITOR for the initial loading and placing of objects. Enter the STAGE EDITOR to load and place an object. Any object. Save changes and move to the ACTION EDITOR. You'll see the changes you made in the STAGE EDITOR On frame one, there is an ACTOR, POSTION, ALIGNMENT and SIZE bar for the object you just added. Change the number of frames to 25. With the INFO button already pressed, click on the ACTOR BAR of your object. You'll see it's Starting at frame 1, and ending at frame 1. Change the ending value to 25. The hit OK. You'll see the ACTOR BAR stretch out to the last frame of the animation. The object will now be visible the entire animation -provided it falls inside the CAMERA's point of view. Then Click on the ADD button at the bottom of the screen. Carefully line your pointer so that frame 5 is highlighted at the top of the screen, and "Posn." is highlighted at the right. Click once. Now slide the mouse to the right, until frame 25 is highlighted. Click again. You'll get a requestor where you can type in some different numbers to change the element's position information. There. You've done it. Although it's easier to use the STAGE EDITOR, go to frame 25, move an object and use POSITION BAR in the pulldowns to automagically add a POSITION BAR, this tutorial helps show you what's really going on [WHEW! What a sentence!]. @endnode @node Editor "Editors" -- Editors ---------------------------------------------------------- Imagine is a modular system. It is divided up into 7 editors. Currently, The Imagine Organizer only deals with the following editors: DETAIL STAGE ACTION and PROJECT @endnode @node Delete "Delete" -- Delete ----------------------------------------------------------- Whenever you are told to delete something in my tutorials, I never mean for you to delete a physical file from your hard drive. To delete an element from an editor, simply click on it's axis and choose DELETE from a pulldown menu. The subject will vanish from view, and from the Amiga's memory. Once you do this, the element is forever gone, unless you have saved it to disk. Using delete from the pulldown will not effect saved files. @endnode @node Aligment "Alignment" -- Alignment -------------------------------------------------------- The alignment values of an element are stored in three numbers: X, Y and Z. These numbers are rotational degrees. Adding "90" to the Z alignment value of an object will make an object spin one- quarter of a full turn along it's Z axis. @endnode @node Bar "Bars" -- Bars ------------------------------------------------------------- In the ACTION EDITOR, bars are used to represent an action taking place along a time line. A bar does not have to stretch along a multitude of frame numbers. A bar can begin at frame one, and end at frame one. A fingle frame bar like this is used to give an actor it's initial setting. Then another bar, say, from frame 2 to frame 25, will change that aspect of the element from it's original setting on frame one, to the new one on frame 25. For this kind of change to happen slowly during the duration of the 23 'in between' frames, a "Transition" value of 23 would be added to the bar. A bar in the Actor's line would contain information of who or what the actor is. Other bars can assign special effects to an actor. @endnode @node Track "Track" -- Track ------------------------------------------------------------ When an object is told to "track" to another object, the first object's axis will rotate so it's "Y" prong will point towards the other object's axis. One very popular use of tracking is to add an AXIS to your scene, rename it "CAM.TRACK" and move it in the middle of the all the fun. Then add an ALIGNMENT BAR to your CAMERA in the ACTION EDITOR, and tell it to TRACK to "CAM.TRACK". As long as your "CAM.TRACK" axis follows the action, your camera will never miss out on the fun. @endnode @node Position "Position" -- Position --------------------------------------------------------- Very simply, Position values are the "Where" in describing an actor (An actor can be an object, lightsource or any other element). It's POSITION is more specificaly X, Y and Z coordinate values of the distance of the actor's AXIS from HOME, or, the global location of 0, 0, 0. In the DETAIL EDITOR, when you first add an object, the POSITION of it's axis is at 0, 0, 0. If you click on it, hit the 'm' key to MOVE it to the right in the FRONT VIEW window, you are ADDING to it's X POSITION value. If you slide the object to the left, you are subtracting it's X POSITION value. Notice the Z and X markings in the lower left-hand corner of the FRONT VIEW window. The two lines connectng them intersect at a right angle. This could be thought of as representing the GLOBAL, or world axis. Whenever something is moved to the right, or, in the direction of the "X" prong of the GLOBAL AXIS, it's X POSITION value is ADDED to. Whenever something is moved in the OPPOSITE direction the "X" prong is facing, it's X POSITION value is taken away from. POSITION values can also be typed in directy. Click on an object and select "TRANSFORMATIONS" from the pulldown menu. Then click on the POSITION button. @endnode @node Frame "Frames" -- Frames ----------------------------------------------------------- Images, pictures, whatever are frames. The number of frames you want would be defined in the ACTION EDITOR. @endnode @node Tween "Tween" -- Tween ------------------------------------------------------------ "Tween" is just a computer artist's term for a certian thing that computers are good at. Probably standing for BETWEEN, tween is when the user defines a beginning and end "key" points, and the computer fills in all the informations IN BETWEEN the two keys. Most of the work done in the ACTION EDITOR relies heavily on key frame setups and tweening (Both key frames and tweening mean the same thing). @endnode @node Size "Size" -- Size ------------------------------------------------------------- Very simply, Size values are the "How big" in describing an actor (An actor can be an object, lightsource or any other element). To the best of my knowledge, SIZE does not effect a lightsource in any way. Size information is only the length of the X, Y and Z prong's of an object or group's Axis prongs (I call those dotted lines you see sprouting from an axis "prongs." It's not an official term in any way.). The actual data of an object gets it's position (read: Distance from axis) based on how big that axis is. So when you click on an object (or whatever), hit "s" to scale and then slide the mouse to watch it scale, you're really only changing the size of the object's axis. The rest of the object just follows suit in porportion to the axis. If you scale only the "Z" prong on an object's axis, and the "Z" prong is facing straight up, the object will only become taller, not fatter as well. For a more detailed description of SIZE information, see my description of the ACTION EDITOR. @endnode @node Detail "The Detail Editor" -- The Detail Editor ------------------------------------------------ The Detail editor is the modelling workhorse of Imagine. There is no way I could describe everything about it here. Besides, most of these tutorials deal with ANIMATION of objects, not really focusing on making them. It's more of an art form all to itsself. Perhaps one day I can expound on this area, but it's a big area indeed. So don't hold your breath. The best I can say for now is just to grab some scratch paper and jump right in. The more you try, the more you'll learn. @endnode @node Parent "Parent" -- Parent ----------------------------------------------------------- The "Parent" typically refers to the TOP of a system of grouping objects. Groups are objects that are connected together by yellow lines. The parent of the group can be spotted by two ways: When in the detail editor in PICK GROUPS mode, Clicking on the parent objects will cause all other parts of the group to turn blue or purple. Notice the flow of all the yellow lines. It's not always easy to see, but ALL the "Child" parts of a group will have yellow lines that ultimately wind up coming from the parent. @endnode